Network-based archiving for threaded mobile text messages

ABSTRACT

A network device, method, and mobile device are directed towards enabling a mobile device user to archive a text message threaded conversation with another conversation participant. text messages sent from the mobile device may be replicated by a server component, whether the text message is a reply message or an incoming message. The replicated text message may then be sent to an identified personal computing device&#39;s network-based messaging archive. In one embodiment, the messaging archive may be an outbox archive for text messages. As described, a text message being sent to the mobile device from the other conversation participant may also be replicated and archived in a network-based inbox archive for text messages on the identified personal computing device. In one embodiment, the archived text messages may be displayed to the user on the personal computing devices as threaded conversations.

CROSS-REFERENCE

This utility patent application claims priority to U.S. ProvisionalPatent Application No. 60/892,022, filed on Feb. 28, 2007, entitled“Network-Based Archiving For Threaded Mobile Text Messages,” the benefitof which is claimed under 35 U.S.C. §119, and is further incorporatedherein by reference.

TECHNICAL FIELD

The invention relates generally to communications over a network, andmore particularly but not exclusively to enabling text threadedconversations from a mobile device to be archived on an identifiedcomputer device and displayable as text threaded conversations fromnetwork-based messaging archives.

BACKGROUND

In today's computing environment, a user may employ a variety ofcomputing devices. For example, one user may use a desktop personalcomputer (PC) at a fixed work place, at home, or the like, while anotheruser may use a mobile computing device, such as a cellular telephone, apalm-size PC, or perhaps even a personal data assistant (PDA). Moreover,users may employ a PC one moment and their mobile computing device atsome other moment.

Users may further employ a variety of communication modes. For example,users may communicate using email messages, audio messages, Voice overInternet Protocol (VOIP), Short Message Services (SMS), InstantMessaging (IM), or the like. While some of these communication modesprovide a history of a conversation between participants, this may notallows be the case. For example, when the user employs their mobilecomputing device to participate in an SMS conversation, a history of theconversation may not be available to the user, either on the mobilecomputing device, or another of their computing devices. Thus, it iswith respect to these considerations and others that the invention hasbeen made.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments are described with referenceto the following drawings. In the drawings, like reference numeralsrefer to like parts throughout the various figures unless otherwisespecified.

For a better understanding of the invention, reference will be made tothe following Detailed Description of the Embodiments, which is to beread in association with the accompanying drawings, wherein:

FIG. 1 shows a functional block diagram illustrating one embodiment ofan environment;

FIG. 2 shows one embodiment of an identified computing device that maybe employed in a system implementing the invention;

FIG. 3 shows one embodiment of a server device that may be employed in asystem; and

FIG. 4 illustrates a logical flow diagram generally showing oneembodiment of a process for network-based message archiving of textthreaded conversations from a mobile device onto an identified computerdevice, in accordance with various embodiments.

DETAILED DESCRIPTION

The invention now will be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific embodiments by which theinvention may be practiced. This invention may, however, be embodied inmany different forms and should not be construed as limited to theembodiments set forth herein; rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art. Amongother things, the invention may be embodied as methods or devices.Accordingly, the invention may take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment combiningsoftware and hardware aspects. The following detailed description is,therefore, not to be taken in a limiting sense.

Throughout the specification and claims, the following terms take themeanings explicitly associated herein, unless the context clearlydictates otherwise. The phrase “in one embodiment” as used herein doesnot necessarily refer to the same embodiment, though it may. As usedherein, the term “or” is an inclusive “or” operator, and is equivalentto the term “and/or,” unless the context clearly dictates otherwise. Theterm “based on” is not exclusive and allows for being based onadditional factors not described, unless the context clearly dictatesotherwise. In addition, throughout the specification, the meaning of“a,” “an,” and “the” include plural references. The meaning of “in”includes “in” and “on.”

The term Short Message Service (SMS) refers to a communication mechanismfor providing connectionless transfers of limited size messages betweennetworked devices. SMS messages may be cell broadcast services which areperiodically delivered short message to a pre-defined set of computingdevices in a given area, or point-to-point services which include shortmessages sent to a specific user. The SMS protocol is described in moredetail in International Standard ISO/IEC 21989, available through theInternational Organization for Standardization (ISO), and which ishereby incorporated herein by reference, as well as such documents asGlobal System for Mobile Communications (GSM) 03.38 and 04.11. As usedherein, SMS refers to all such short message communications, and thosederived therefrom.

As used herein, the terms “text messaging,” or “text message” refer toSMS messaging, as well as a variety of other limited size messageprotocols, including, but not limited to, Instant Messaging (IM),Multimedia Messaging Service (MMS) message, or an Enhanced MessageService (EMS) message protocols.

Briefly stated, embodiments are directed towards enabling a first mobiledevice user to archive an outgoing text message with anotherconversation participant, by having a copy of the text messages sent toan identified computing device's network-based messaging archive. In oneembodiment, the other conversation participant employs a second mobiledevice; however, the invention is not so limited, and a personalcomputer may also be used. In one embodiment, text messages sent fromthe first mobile device are replicated by a server component. In oneembodiment, a determination of whether to replicate the text message maybe based on an address identifier, such as a phone number, or the like,associated with the outgoing text message. If it is determined that theuser has subscribed to network-based archiving based on the phonenumber, account identifier, or other address identifier, then theoutgoing text message may be replicated. The replicated text message maythen be sent to the identified computing device's message outboxarchive. In one embodiment, the message archive may be a network-basedoutbox archive for text messages. In another embodiment, the archivallocation may be configured and arranged for display and/or access ofthreaded conversations—that is, both incoming messages and outgoingmessages. Thus, in one embodiment a single archival location and/ordisplay interface for a user may be provided.

In one embodiment, a text message being sent to the first mobile devicefrom the other conversation participant may also be replicated andarchived in a network-based inbox archive for text messages on theidentified personal computing device. In one embodiment, the archivedtext messages may be displayed to the user on the identified computingdevices as threaded conversations. In one embodiment, the identifiedcomputing device is a personal computer; however, it may also be aspecified mobile device, server device, or other network connecteddevice.

Illustrative Operating Environment

FIG. 1 shows components of one embodiment of an environment in which theinvention may be practiced. Not all the components may be required topractice the invention, and variations in the arrangement and type ofthe components may be made without departing from the spirit or scope ofthe invention. As shown, system 100 of FIG. 1 includes local areanetworks (“LANs”)/wide area networks (“WANs”)-(network) 105, wirelessnetwork 110, Message Archive Service (MAS) 106, mobile devices 102-104,and Identified Computing Device (ICD) 101.

Generally, mobile devices 102-104 may include virtually any computingdevice capable of receiving and sending a message over a network, suchas network 105, wireless network 110, or the like, to and from anothercomputing device, such as MAS 106, each other, or the like. Clientdevices 102-104 may include portable devices that typically connectusing a wireless communications medium such as cell phones, smartphones, pagers, walkie talkies, radio frequency (RF) devices, infrared(IR) devices, CBs, integrated devices combining one or more of thepreceding devices, or virtually any mobile device, and the like. Clientdevices 102-104 also may be any computing device that is capable ofconnecting using a wired or wireless communication medium such as a PDA,POCKET PC, laptop computer, wearable computer, and any other device thatis equipped to communicate over a wired and/or wireless communicationmedium.

Mobile devices 102-104 may also include a browser application that isconfigured to receive and to send web pages, web-based messages, and thelike. The browser application may be configured to receive and displaygraphics, text, multimedia, and the like, employing virtually any webbased language, including a wireless application protocol messages(WAP), and the like. In one embodiment, the browser application isenabled to employ Handheld Device Markup Language (HDML), WirelessMarkup Language (WML), WMLScript, JavaScript, Standard GeneralizedMarkup Language (SMGL), HyperText Markup Language (HTML), eXtensibleMarkup Language (XML), and the like, to display and send a message.

Mobile devices 102-104 may also be configured to communicate a message,such as through Short Message Service (SMS), Multimedia Message Service(MMS), instant messaging (IM), internet relay chat (IRC), Mardam-Bey'sIRC (mIRC), Jabber, email, or the like, between another computingdevice, such as MAS 106, each other, or the like. However, embodimentsare not limited to these message protocols, and virtually any othermessage protocol may be employed. For example, mobile devices 102-104may also be enabled to communicate an audio message using Voice overInternet Protocol (VoIP), or the like.

Mobile devices 102-104 also may include at least one other clientapplication that is configured to provide information that identifiesitself, including a type, capability, name, and the like. In oneembodiment, mobile devices 102-104 may uniquely identify themselvesthrough any of a variety of mechanisms, including a phone number, MobileIdentification Number (MIN), an electronic serial number (ESN), or othermobile device identifier. The information may also indicate a contentformat that the mobile device is enabled to employ. Such information maybe provided in a message, or the like, sent to MAS 106, ICD 101, orother computing devices.

Mobile devices 102-104 may further be configured to include a clientapplication that enables the end-user to log into an end-user accountthat may be managed by another computing device, such as MAS 106, or thelike. Such end-user account, for example, may be configured to enablethe end-user to receive and/or send email messages, SMS messages, audiomessages, or the like. However, in one embodiment, communications withanother computing device may also be performed without logging into theend-user account.

One embodiment of ICD 101 is described in more detail below inconjunction with FIG. 2. Briefly, however, ICD 101 may include virtuallyany computing device capable of connecting to another computing deviceand receiving and/or sending information. Such devices may includepersonal computers, multiprocessor systems, microprocessor-based orprogrammable consumer electronics, network PCs, and the like. However,ICD 101 is not constrained to such devices, and ICD 101 may also includeportable devices such as, cellular telephones, smart phones, displaypagers, radio frequency (RF) devices, infrared (TR) devices, PersonalDigital Assistants (PDAs), handheld computers, wearable computers,tablet computers, integrated devices combining one or more of thepreceding devices, and the like.

ICD 101 may include at least one client application that is configuredto receive content from another computing device. The client applicationmay include a capability to provide and receive textual content,graphical content, audio content, alerts, messages, and the like. Forexample, ICD 101 may be configured to communicate a text message, suchas through a Short Message Service (SMS), Multimedia Message Service(MMS), instant messaging (IM), internet relay chat (IRC), mIRC, Jabber,and the like, between another computing device. In one embodiment ICD101 may include a capability to receive text messages and to display thetext messages as threaded conversations. In one embodiment, such textmessages may be received within a network-based archive, such as a textmessage outbox, inbox, or the like, as described below.

Wireless network 110 is configured to couple mobile devices 102-104 withnetwork 105. Wireless network 110 may include any of a variety ofwireless sub-networks that may further overlay stand-alone ad-hocnetworks, and the like, to provide an infrastructure-oriented connectionfor mobile devices 102-104. Such sub-networks may include mesh networks,Wireless LAN (WLAN) networks, cellular networks, and the like.

Wireless network 110 may further include an autonomous system ofterminals, gateways, routers, and the like connected by wireless radiolinks, and the like. These connectors may be configured to move freelyand randomly and organize themselves arbitrarily, such that the topologyof wireless network 110 may change rapidly.

Wireless network 110 may further employ a plurality of accesstechnologies including 2nd (2G), 3rd (3G) generation radio access forcellular systems, WLAN, Wireless Router (WR) mesh, and the like. Accesstechnologies such as 2G, 3G, and future access networks may enable widearea coverage for mobile devices, such as mobile devices 102-104 withvarious degrees of mobility. For example, wireless network 110 mayenable a radio connection through a radio network access such as GlobalSystem for Mobil communication (GSM), General Packet Radio Services(GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code DivisionMultiple Access (WCDMA), and the like. In essence, wireless network 110may include virtually any wireless communication mechanism by whichinformation may travel between mobile devices 102-104 and anothercomputing device, network, and the like.

Moreover, one or more components within wireless network 110 may bemanaged by one or more carrier service providers that are configured tomanage various aspects of the communications.

Network 105 is configured to couple MAS 106 and its components withother computing devices, including, ICD 101, and through wirelessnetwork 110 to mobile devices 102-104. Network 105 is enabled to employany form of computer readable media for communicating information fromone electronic device to another. Also, network 105 can include theInternet in addition to local area networks (LANs), wide area networks(WANs), direct connections, such as through a universal serial bus (USB)port, other forms of computer-readable media, or any combinationthereof. On an interconnected set of LANs, including those based ondiffering architectures and protocols, a router acts as a link betweenLANs, enabling messages to be sent from one to another. Also,communication links within LANs typically include twisted wire pair orcoaxial cable, while communication links between networks may utilizeanalog telephone lines, full or fractional dedicated digital linesincluding T1, T2, T3, and T4, Integrated Services Digital Networks(ISDNs), Digital Subscriber Lines (DSLs), wireless links includingsatellite links, or other communications links known to those skilled inthe art. Furthermore, remote computers and other related electronicdevices could be remotely connected to either LANs or WANs via a modemand temporary telephone link. In essence, network 105 includes anycommunication method by which information may travel between MAS 106,ICD 101, another network, and/or other computing devices.

Additionally, communication media typically embodies computer-readableinstructions, data structures, program modules, or other data in amodulated data signal such as a carrier wave, data signal, or othertransport mechanism and includes any information delivery media. Theterms “modulated data signal,” and “carrier-wave signal” includes asignal that has one or more of its characteristics set or changed insuch a manner as to encode information, instructions, data, and thelike, in the signal. By way of example, communication media includeswired media such as twisted pair, coaxial cable, fiber optics, waveguides, and other wired media and wireless media such as acoustic, RF,infrared, and other wireless media.

One embodiment of MAS 106 is described in more detail below inconjunction with FIG. 3. Briefly, however, MAS 106 may include anycomputing device capable of connecting to network 105 to enable anexamination of text messages for selective archiving. In one embodiment,text messages may be examined to determine if the message is associatedwith a party that has identified text messages are to be archived. Ifso, then MAS 106 may replicate the text message and send the replicatedtext message to an identified computing device's network archive, suchas a text message outbox, inbox, or the like. In one embodiment, MAS 106may employ a process such as described below in conjunction with FIG. 4to perform at least some of its actions.

Devices that may operate as MAS 106 include personal computers desktopcomputers, multiprocessor systems, microprocessor-based or programmableconsumer electronics, network PCs, servers, network appliance, or thelike. In one embodiment, MAS 106 may be configured to operate as anetwork component within a carrier's text messaging system. Thus, whileillustrated outside of network 101 or 105, MAS 106 may also operatewithin network 105 and/or 101, without departing from the scope of theinvention.

Furthermore, although FIG. 1 illustrates MAS 106 as a single computingdevice, the invention is not so limited. For example, one or morefunctions of MAS 106 may be distributed across one or more distinctcomputing devices. For example, managing various messaging activities,including text messages distributions, and/or selective text messagearchiving may be performed by a plurality of computing devices, withoutdeparting from the scope or spirit of the various embodiments.

Illustrative ICD Environment

FIG. 2 shows one embodiment of ICD 200 that may be included in a systemimplementing the invention. ICD 200 may include many more or lesscomponents than those shown in FIG. 2. However, the components shown aresufficient to disclose an illustrative embodiment for practicing theinvention. ICD 200 may represent, for example, ICD 101 of FIG. 1. Itshould be noted that ICD 200 may represent a personal computing device,a specified mobile device, server device, or the like.

As shown in the figure, ICD 200 includes a processing unit (CPU) 222 incommunication with a mass memory 230 via a bus 224. ICD 200 alsoincludes a power supply 226, one or more network interfaces 250, anaudio interface 252, a display 254, a keypad 256, an illuminator 258,and an input/output interface 260. Power supply 226 provides power toICD 200. A rechargeable or non-rechargeable battery may be used toprovide power. The power may also be provided by an external powersource, such as an AC adapter or a powered docking cradle thatsupplements and/or recharges a battery.

ICD 200 may optionally communicate with a base station (not shown), ordirectly with another computing device. Network interface 250 includescircuitry for coupling ICD 200 to one or more networks, and isconstructed for use with one or more communication protocols andtechnologies including, but not limited to, global system for mobilecommunication (GSM), code division multiple access (CDMA), time divisionmultiple access (TDMA), user datagram protocol (UDP), transmissioncontrol protocol/Internet protocol (TCP/IP), SMS, general packet radioservice (GPRS), WAP, ultra wide band (UWB), IEEE 802.16 WorldwideInteroperability for Microwave Access (WiMax), SIP/RTP, or any of avariety of other wired or wireless communication protocols. Networkinterface 250 is sometimes known as a transceiver, transceiving device,or network interface card (NIC).

Audio interface 252 is arranged to produce and receive audio signalssuch as the sound of a human voice. For example, audio interface 252 maybe coupled to a speaker and microphone (not shown) to enabletelecommunication with others and/or generate an audio acknowledgementfor some action. Display 254 may be a liquid crystal display (LCD), gasplasma, light emitting diode (LED), or any other type of display usedwith a computing device. Display 254 may also include a touch sensitivescreen arranged to receive input from an object such as a stylus or adigit from a human hand.

Keypad 256 may comprise any input device arranged to receive input froma user. For example, keypad 256 may include a push button numeric dial,or a keyboard. Keypad 256 may also include command buttons that areassociated with selecting and sending images. Illuminator 258 mayprovide a status indication and/or provide light. Illuminator 258 mayremain active for specific periods of time or in response to events. Forexample, when illuminator 258 is active, it may backlight the buttons onkeypad 256 and stay on while the client device is powered. Also,illuminator 258 may backlight these buttons in various patterns whenparticular actions are performed, such as dialing another client device.Illuminator 258 may also cause light sources positioned within atransparent or translucent case of the client device to illuminate inresponse to actions.

ICD 200 also comprises input/output interface 260 for communicating withexternal devices, such as a headset, or other input or output devicesnot shown in FIG. 2. Input/output interface 260 can utilize one or morecommunication technologies, such as USB, infrared, Bluetooth™, or thelike.

Mass memory 230 includes a RAM 232, a ROM 234, and other storage means.For example, although not shown, mass memory may also include a diskdrive, or the like. Mass memory 230 illustrates another example ofcomputer storage media for storage of information such as computerreadable instructions, data structures, program modules or other data.Mass memory 230 stores a basic input/output system (“BIOS”) 240 forcontrolling low-level operation of ICD 200. The mass memory also storesan operating system 241 for controlling the operation of ICD 200. Itwill be appreciated that this component may include a general purposeoperating system such as a version of UNIX, or LINUX™, or a specializedclient communication operating system such as Windows Mobile™, or theSymbian® operating system. The operating system may include, orinterface with a Java virtual machine module that enables control ofhardware components and/or operating system operations via Javaapplication programs.

Memory 230 further includes one or more data storage 244, which can beutilized by ICD 200 to store, among other things, applications 242and/or other data. For example, data storage 244 may also be employed tostore information that describes various capabilities of ICD 200. Theinformation may then be provided to another device based on any of avariety of events, including being sent as part of a header during acommunication, sent upon request, or the like. Data storage 244 may alsobe employed to store messages, an address book, phone list, task lists,or the like. Moreover, in one embodiment, data storage 244 may also beemployed to store a text message network-based archive outbox, and/orinbox. In one embodiment, data storage 244 may be configured to enablearchived text messages to be retrieved and/or displayed through display254 as threaded text conversations.

Applications 242 may include computer executable instructions which,when executed by ICD 200, transmit, receive, and/or otherwise processmessages (e.g., MMS, IM, EMS, email, and/or other messages), audio,video, and enable telecommunication with another user of another clientdevice. Other examples of application programs include calendars,browsers, email clients, IM applications, VoIP applications, contactmanagers, task managers, transcoders, database programs, word processingprograms, security applications, spreadsheet programs, games, searchprograms, and so forth. One example of an application shown in FIG. 2 isText Archival Client (TAC) 246.

TAC 246 enables a user to receive and/or send text messages to anothercomputing device. Text client 246 may also allow the user to compose atext response message, and to send the text response message over anetwork. Text client 246 may operate to manage SMS text messages, MMSmessages, EMS messages, or the like. Moreover, in one embodiment, TAC246 may receive text messages in a text message archive inbox or outbox,wherein at least some of the text messages may be related to each otherthrough a threaded conversation. As such, TAC 246 may be configured toenable a display of text messages in a threaded conversation format.

Illustrative Server Environment

FIG. 3 shows one embodiment of a network device, according to oneembodiment of the invention. Network device 300 may include many morecomponents than those shown. The components shown, however, aresufficient to disclose an illustrative embodiment for practicing theinvention. Network device 300 may represent, for example, MAS 106 ofFIG. 1.

Network device 300 includes processing unit 312, video display adapter314, and a mass memory, all in communication with each other via bus322. The mass memory generally includes RAM 316, ROM 332, and one ormore permanent mass storage devices, such as hard disk drive 328, tapedrive, optical drive, and/or floppy disk drive. The mass memory storesoperating system 320 for controlling the operation of network device300. Any general-purpose operating system may be employed. Basicinput/output system (“BIOS”) 318 is also provided for controlling thelow-level operation of network device 300. As illustrated in FIG. 3,network device 300 also can communicate with the Internet, or some othercommunications network, via network interface unit 310, which isconstructed for use with various communication protocols including theTCP/IP protocol. Network interface unit 310 is sometimes known as atransceiver, transceiving device, or network interface card (NIC).

The mass memory as described above illustrates another type ofcomputer-readable media, namely computer storage media. Computer storagemedia may include volatile, nonvolatile, removable, and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data. Examples of computer storage mediainclude RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by a computing device.

The mass memory also stores program code and data. In one embodiment,mass memory may include data storage 356 that is configured to storevarious information, including user registration information useable indetermining whether a user has requested text message archiving, or thelike. One or more applications 350 are loaded into mass memory and runon operating system 320. Examples of application programs may includetranscoders, schedulers, calendars, database programs, word processingprograms, HTTP programs, customizable user interface programs, IPSecapplications, encryption programs, security programs, VPN programs,content delivery programs, account management, text messaging servers,web servers, or so forth. Application programs may also include MessageArchival Manager (MAM) 358.

MAM 358 is configured to operate as a text messaging carrier's interfacecomponent for intercepting, forwarding, and otherwise managing textmessages between network devices over a network. MAM 358 may, in oneembodiment, be configured to selectively enable archiving of receivedtext messages based on whether a user has so requested archival.

MAM 358 may receive a request from a user to archive messages. In oneembodiment, the request may include identification of a location inwhich the messages are to be archived. For example, in one embodiment,the user might provide a network address of an identified computingdevice such as a URL, IP address or the like, a messaging address forthe identified computing device, an account identifier, or the like. Inone embodiment, the user may specify an inbox and/or outbox folder forwhich the text messages are to be archived. In one embodiment, the usermay further specify a threaded messaging folder where a threadedconversation of received and/or sent text messages may be archived.

When the user requests archival for a first time, the user may provideadditional information about the mobile device for which archival oftext messages is to be associated. For example, the user might provide auser name, alias, account identifier, a phone number, or other mobiledevice identifier, or other identifier. The provided information maythen be employed by MAM 358 in determining whether a received textmessage is to be archived.

Information received from the user may then be stored in data storage356. In one embodiment, the information may be organized such that whena message is received, data storage 356 may be searched based on themobile device identifier, user account, user name, or other information,received and/or determined from the test message, the messagingprotocol, headers, a messaging gateway, mobile device, or the like. Suchinformation may then be used to search data storage 356 to determine ifthe user has requested archival.

In one embodiment, MAM 358 may receive a text message, and examine datastorage 356 to determine whether to archive the text message. If thetext message is to be archived, MAM 358 may replicate the text message,and deliver the original text message to its destination over thenetwork. MAM 358 may then deliver to a network-based text messageoutbox, or inbox, for an identified computing device, such that the textmessage may then be displayed in a threaded conversation at theidentified computing device.

In one embodiment, if MAM 358 is unable to archive the text message atthe identified computing device, for any reason, MAM 358 may beconfigured to store the message in data storage 356. Then, when theidentified computing device is accessible, MAM 358 may then provide thetest message to the identified computing device. Such situations mayarise, for example, when the identified computing device is off of thenetwork, a network failure has occurred, the identified computing deviceis powered down, failed, or the like, or for any of a variety of otherreasons. MAM 358 may employ a process such as described below inconjunction with FIG. 4 to perform at least some of its actions.

Generalized Operation

The operation of certain aspects of the embodiments will now bedescribed with respect to FIG. 4. FIG. 4 illustrates a logical flowdiagram generally showing one embodiment of a process for network-basedmessage archiving of text threaded conversations from a mobile deviceonto an identified computer device.

It one embodiment, process 400 may related to text communicationsbetween mobile device 1, such as mobile devices 102-104 of FIG. 1, andanother computing device. The other computing device, may, in oneembodiment, be a mobile device; however, the invention is not soconstrained. For example, the other computing device may be a personalcomputer, such as a desktop computer, a server device, or the like. Inone embodiment, process 400 may be implemented within a network deviceconfigured as a network text message carrier's network component, suchas MAS 106 of FIG. 1, or the like.

In any event, process 400 begins, after a start block, at block 402,where a computing device, such as mobile device 2, or the like, sends atext message to mobile device 1. At block 402, the text message may beintercepted by the text message carrier's network component. Processingmoves next to decision block 404 where a determination is made whethermobile device 1 is registered to have text messages archived. In oneembodiment, a data store may be examined to look up a user account,phone number, or other address identifier, to determine whether the textmessage is to be archived.

If the message is not to be archived, processing flows to block 422where the received incoming message is delivered to mobile device 1.Process 400 next flows to block 412.

Otherwise, if the message is to be archived, processing continues toblock 406, where the incoming text message is replicated. Processingcontinues next to block 408, where the incoming text message isdelivered to the mobile device 1. Processing flows next to block 410,where the replicated incoming text message is delivered to anetwork-based text message inbox for archival. In one embodiment, if thetext message can not be delivered, the process may be configured to holdthe message, until the message can be delivered. Thus, messages need notbe lost.

Process 400 continues next to block 412, where a reply text message isreceived (intercepted) from mobile device 1. In one embodiment, thereply text message is intercepted by the text message carrier's networkcomponent. Processing continues to decision block 414, where adetermination is made whether the intercepted text message is to bearchived. In one embodiment, the determination may be performed byexamining whether the mobile device 1 is registered in a data store, orthe like. In any event, if the reply text message is not to be archived,processing flows to block 424. At block 424, the reply text message maybe delivered to its destination address.

Alternatively, at decision block 414, if the reply text message is to bearchived, processing flows to block 416, where the reply text messagemay be replicated. Processing continues to block 418, where the replytext message may then be delivered to the destination address. Process400 continues next to block 420, where the replicate text message may bedelivered to a network-based text message outbox archive where it isuseable for display in a threaded conversation. In one embodiment, amessage header may be modified to make the reply message appear to befrom the identified computing device, rather than the mobile device.Processing then returns to a calling process to perform other actions.

It will be understood that each block of the flowchart illustrationsdiscussed above, and combinations of blocks in the flowchartillustrations above, can be implemented by computer programinstructions. These program instructions may be provided to a processorto produce a machine, such that the instructions, which execute on theprocessor, create means for implementing the actions specified in theflowchart block or blocks. The computer program instructions may beexecuted by a processor to cause a series of operational steps to beperformed by the processor to produce a computer-implemented processsuch that the instructions, which execute on the processor, providesteps for implementing the actions specified in the flowchart block orblocks.

Accordingly, blocks of the flowchart illustration support combinationsof means for performing the specified actions, combinations of steps forperforming the specified actions and program instruction means forperforming the specified actions. It will also be understood that eachblock of the flowchart illustration, and combinations of blocks in theflowchart illustration, can be implemented by special purposehardware-based systems which perform the specified actions or steps, orcombinations of special purpose hardware and computer instructions.

The above specification, examples, and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

1. A network device for use in managing network communications over anetwork, comprising: a memory component for storing data; and aprocessing component for executing data that enables actions, including:receiving from a first computing device, a text message to be sent to amobile device; if the mobile device is identified for text messagearchiving: duplicating the received text message; sending the duplicatetext message to an identified computer associated with the mobiledevice, wherein the duplicate text message is archived as an incomingmessage at the identified computer; and forwarding the received textmessage to the mobile device.
 2. The network device of claim 1, theprocessing component enables actions, further comprising: receiving aresponse text message from the mobile device to be sent to the firstcomputing device; and if the mobile device is identified for textmessage archiving: duplicating the received response text message;sending the duplicate response text message to the identified computerassociated with the mobile device, wherein the duplicate response textmessage is archived as an outgoing message at the identified computer,such that the incoming message and the outgoing message form an archiveof a threaded conversation between the first computing device and themobile device.
 3. The network device of claim 1, wherein the archivedincoming message is archived within an inbox archive on the identifiedcomputer.
 4. The network device of claim 1, the processing componentenables actions, further comprising: receiving a request from the mobiledevice to archive text messages; receiving an identifier indicating theidentified computer to use for archiving of text messages; and receivingan identifier associated with the mobile device useable in determiningif the mobile device is identified for text message archiving.
 5. Thenetwork device of claim 1, wherein if the mobile device is identifiedfor text message archiving further comprises employing at least one of auser account, or a mobile device identifier to determine if the mobiledevice is identified for text message archiving.
 6. The network deviceof claim 1, wherein sending the duplicate response test message furthercomprises: if the identified computer is inaccessible over the network:storing the duplicate text message at the network device; and when theidentified personal computer is available for receiving the duplicatetext message, sending the duplicate text message to the identifiedcomputer.
 7. The network device of claim 1, wherein the text messagefurther comprises at least one of an Instant Messaging (IM) message,Multimedia Messaging Service (MMS) message, or an Enhanced MessageService (EMS) message.
 8. A method for use in managing communicationsover a network, comprising: receiving from a first computing device, atext message to be sent to a mobile device; if the mobile device isidentified for text message archiving: duplicating the received textmessage; sending the duplicate text message to an identified computerother than the mobile device, wherein the duplicate text message isarchived as an incoming message at the identified computer, and theidentified computer is identified by a user of the mobile device;forwarding the received text message to the mobile device; receiving aresponse text message from the mobile device to be sent to the firstcomputing device; if the mobile device is identified for text messagearchiving: duplicating the received response text message; sending theduplicate response text message to the identified computer such that theincoming message and the outgoing message form an archive of a threadedconversation between the first computing device and the mobile device atthe identified computer; and forwarding the response text message to thefirst computing device.
 9. The method of claim 8, wherein the textmessage further comprises at least one of an Instant Messaging (IM)message, Multimedia Messaging Service (MMS) message, or an EnhancedMessage Service (EMS) message.
 10. The method of claim 9, wherein if themobile device is identified, further comprises determining if at leastone of a user account or a mobile device identifier associated with themobile device or the received text message indicates that the textmessage is to be archived.
 11. The method of claim 8, wherein theidentified computer is identified by the user further comprises:receiving from the user of the mobile device, an identifier associatedwith the identified computer.
 12. The method of claim 8, whereinforwarding the response text message further comprises: modifying aheader associated with the response text message such that the responsetext message appears to have been sent by the identified computer. 13.The method of claim 8, wherein the text message further comprises atleast one of an Short Message Services (SMS) message, Instant Messaging(IM) message, Multimedia Messaging Service (MMS) message, or an EnhancedMessage Service (EMS) message.
 14. The method of claim 8, whereinduplicating the received text message is performed by a computing deviceother that the mobile device or the identified computer.
 15. A systemfor use in managing messages over a network, comprising: a plurality ofclient devices, including at least a first client device and a secondclient device, wherein each of the plurality of client devices areconfigured to send and to receive a text message; and a messagingservice that is configured to perform actions, including: receiving fromthe first client device a first text message to be sent to the secondclient device; if the second client device is identified for textmessage archiving: duplicating the received text message; sending theduplicate text message to an identified computer associated with thesecond client device, wherein the duplicate text message is archived asan incoming message for a user of the second client device at theidentified computer; and forwarding the received text message to thesecond client device.
 16. The system of claim 15, wherein the duplicatetext message is archived as part of a threaded message conversationbetween at least first client device and second client device.
 17. Thesystem of claim 15, wherein the messaging service is configured toperform actions, further including: receiving a response text messagefrom the second client device to be sent to the first client device; andif the second client device is identified for text message archiving:duplicating the received response text message; sending the duplicateresponse text message to the identified computer, wherein the duplicateresponse text message is archived as an outgoing message at theidentified computer, such that the incoming message and the outgoingmessage form an archive of a threaded conversation between the firstclient device and the second client device.
 18. The system of claim 17,wherein the messaging service is configured to perform actions, furtherincluding: modifying a header in the response text message to make theresponse text message appear to the first client device as though theresponse text message is sent from the identified computer rather thanfrom the second client device.
 19. The system of claim 15, wherein atleast one of the first client device or the second client device is amobile device.
 20. The system of claim 15, wherein the text messagefurther comprises at least one of an Instant Messaging (IM) message,Multimedia Messaging Service (MMS) message, or an Enhanced MessageService (EMS) message.